In data processing environments, complex patterns of events representing exceptions, threats, and opportunities occur across application space and time, Businesses can benefit from identifying these patterns and responding automatically. Complex event processing (CEP) is designed to model event patterns, filter, aggregate, and store event histories, and respond to complex event patterns in real time. Typical complex event processing engines employ a rich type system to model events, and define a language to allow declarative specification of event patterns. Some conventional CEP engines model their type system after relational databases. These systems use SQL-like predicates to describe operations on contents of events. This type of system may be difficult for a typical business user without technical training to approach. Furthermore, CEP engines based on Java® type systems may also be difficult to approach for a business user without technical training.
For example, some typical CEP engines employ complex language constructs to allow event pattern specification. This may cause languages used to define event patterns to be highly technical. Unlike IT applications that are developed once and deployed, complex event patterns that identify exceptions, threats, and opportunities in business applications may be highly dynamic, and may be created and managed by non-technical business users. Creating a language that is detailed enough to capture a broad array of complex event patterns and making it friendly for a business user is challenging. Additionally, some CEP engine vendors offer a thick client user interface tool that allows building and visualizing event patterns. However, due to the underlying languages utilized for defining event patterns, these tools may still be technical in nature and may not be able to be part of larger applications suites catered for business users. Furthermore, the thick client user interface may make it difficult and/or expensive to operate conventional systems on multiple clients and from mobile devices.